package top.simonby.iron.plugin.generator.support;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 待生成领域实体数据
 *
 * @author simon
 * @date 2021/11/30
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GenRootEntity {

    /**
     * 领域编号
     */
    private Long rootId;

    /**
     * 核心表
     */
    private GenTable coreTable;

    /**
     * 从属表,值对象
     */
    private List<GenTable> subTable;

    /**
     * 生成包路径
     */
    @NotBlank(message = "生成包路径不能为空")
    private String packageName;

    /**
     * 生成模块名
     */
    @NotBlank(message = "生成模块名不能为空")
    private String moduleName;

    /**
     * 生成业务名
     */
    @NotBlank(message = "生成业务名不能为空")
    private String businessName;

    /**
     * 生成功能名
     */
    @NotBlank(message = "生成功能名不能为空")
    private String functionName;

    /**
     * 生成作者
     */
    @NotBlank(message = "作者不能为空")
    private String functionAuthor;

    /**
     * 生成代码方式（0zip压缩包 1自定义路径）
     */
    private String genType;

    /**
     * 生成路径（不填默认项目路径）
     */
    private String genPath;
}
